package chapter04.demo2;

/**
 * 1.super关键字
 * 2.final关键字
 */
class Hero{
    int hp;
    public void reHP(){
        this.hp = this.hp+2;//每次调用恢复2点血
        System.out.println("基础回血2/5秒");
    }
    //final最终 子类可以使用 但是不可以修改
    final void goHome(){
        System.out.println("按B，原地等待10秒");
    }
}
class Warrior extends Hero{
    public void reHP(){
        //当需要使用父类时方法时
        //战士回血机制是 基础回血的基础上 增加战士的回血
        //使用通super调用父类的方法 父类该方法可以使用
        super.reHP();//super特指父类
        this.hp = this.hp+5;
        System.out.println("战士回血5%/5秒");
    }
    //报错原因 父类回家方法加了final 不可重写
//    void goHome(){
//        System.out.println("按B，原地等待4秒");
//    }
}
class Archer extends Hero{ }
public class demo2 {
    public static void main(String[] args) {
        System.out.println("查看射手回血机制");
        Archer archer = new Archer();
        archer.reHP();
        archer.goHome();
        System.out.println("查看战士回血机制");
        Warrior warrior = new Warrior();
        warrior.reHP();
        warrior.goHome();
    }
}
